Logistics Regression and Softmax

Softmax and Log-Softmax

机器学习中为了求导和计算方便,会对probability做取对数的操作,比如softmax和log-softmax的关系。
log-softmax看似等价于先做一个softmax的操作,然后再做一个log的操作。可是如果有些prob在做了softmax之后无限接近于0,那么就会导致计算机出现log(0)的问题。在Deep Learning书中的第四章,这被叫做underflow问题。

对于softmax来说,如果一个数是一个非常负的负数(绝对值很大),那么对它的exp操作会被计算机约等于0,如果所有的激活值都是这样的数,就会出现除0错误。解决方法是取出激活值中最大的一个,然后让每个激活值都减去它,这样就至少保证一个数在exp计算后为1,解决了除零问题。

分享到